一、功能说明
1、新增
1.1、新增 RESTFUL API
1.1.1、发送用户邮箱注册激活码
条目 | 内容 |
---|---|
URL | /v2/user_register/email/verifycode |
Method | XLinkRestful.getApplicationApi().registerEmailVerifyCode(…) |
说明 | 发送用户邮箱注册激活码 |
1.1.2、使用邮箱验证码注册新账号
条目 | 内容 |
---|---|
URL | /v2/user_register/email |
Method | XLinkRestful.getApplicationApi().registerEmailVerifyCodeAccount(…) |
说明 | 使用邮箱验证码注册新账号 |
1.1.3、发送找回密码的邮件激活码
条目 | 内容 |
---|---|
URL | /v2/user/password/forgot/email_verifycode |
Method | XLinkRestful.getApplicationApi().sendEmailPasswordFound(…) |
说明 | 发送找回密码的邮件激活码 |
1.1.4、新增基础数据类型的 json 支持
1.1.4.1、XDevice-设备对象
支持设备对象转换成 json 数据,同时也支持从 json 数据转换为设备对象。
- 转换操作
//将设备对象转换成json数据
String json = xDevice.toJson();
//将json数据转换成设备对象
XDevice device=new XDevice(json);
注意:将 json 数据转换成 XDevice 对象时,若 json 数据为非法数据时,将抛出异常信息。
- json 数据结构
{
"subscribe_date": "2018-06-01T19:45:28.417Z",
"is_active": true,
"role": "0",
"last_login": "2018-06-04T20:49:37.78Z",
"firmware_mod": "1",
"active_code": "XXX",
"active_date": "2018-05-29T11:19:40.752Z",
"mcu_version": "1",
"firmware_version": "3",
"source": "1",
"pairing_id": "XXX",
"mac": "ABC001",
"soft_init_date": "",
"pairing_key": "xxx",
"mcu_mod": "1",
"product_id": "xxx",
"authority": "RW",
"name": "",
"authorize_code": "xxx",
"id": "xxx",
"sn": ""
}
1.1.4.2、XLinkDataPoint-数据端点对象
支持数据端点对象转换成 json 数据,同时也支持从 json 数据转换为数据端点对象。
- 转换操作
//将数据端点对象转换成json数据
String json = dp.toJson();
//将json数据转换成数据端点对象
XLinkDataPoint dp = new XLinkDataPoint(json);
注意:将 json 数据转换成 XLinkDataPoint 对象时,若 json 数据为非法数据时,将抛出异常信息。
- json 数据结构
{
"symbol": "开关",
"is_system": false,
"expression": "",
"ui_visible": {
"control": true,
"state": true
},
"max": "100",
"index": "8",
"description": "开关",
"default_value": "",
"source": "1",
"type": "0",
"is_write": false,
"field_name": "protection_alarm",
"is_read": true,
"is_collect": false,
"min": "0",
"name": "protection_alarm",
"id": "xxx",
"value": "0"
}
1.1.4.3、XLinkUser-数据端点对象
支持用户信息对象转换成 json 数据,同时也支持从 json 数据转换为用户信息对象。
- 转换操作
//将用户信息对象转换成json数据
String json = user.toJson();
//将json数据转换成用户信息对象
XLinkUser user = new XLinkUser(json);
- json 数据结构
{
"access_token": "xxx",
"refresh_token": "xxx",
"user_id": "10000",
"expire_in": "0",
"authorize": "xxxx"
}
2、移除
2.1、移除 json 依赖库
由于第三方 json 版本与 Android 官方集成的 json 版本存在一定的差异(尽量是同一来源的库),所以从此版本开始不再依赖第三方 json 库,XAPP SDK 内部已集成简化版的 json 处理,所以不再依赖第三方 json 库,同时也避免与官方库存在冲突。
//请移除此依赖库
compile 'org.json:json:20171018'
3、变更
3.1、RESTFUL API 变更
3.1.1、数据类变更
对于低版本 XAPP SDK 来说,数据端点存在两种形式XLinkDataPoint
与XLinkCoreDataPoint
.通常提供给外部的是XLinkDataPoint
的数据端点类型
由于二者类型存在差异导致了一些转换工作频繁发生,现已将两者合并.合并后的数据端点的类型名称,使用方法没有任何变动,但是需要由于类的位置更新了,需要更新导入
请选择全局替换,将cn.xlink.sdk.v5.model.XLinkDataPoint
全部替换成cn.xlink.sdk.core.model.XLinkDataPoint
注意事项:所有 XAPP SDK 或者是项目中有使用到的
XLinkDataPoint
有且仅有一个
二、更新说明
日期 | 更新内容 |
---|---|
2018.07.05 | 新增版本更新说明 |
- 版本说明
- 更新 API 错误码,接口返回的错误码更加准确完整
- 修复 restful 接口中 json 可能转换异常的问题
- 修复添加v5设备时部分情况下未正确抛出失败错误码的问题
- 新增基础数据对象(设备对象-XDevice,数据端点-XLinkDataPoint,用户信息-XLinkUser)统一的序列化与反序列化功能
- 修复数据端点可能存在模板数据未正确更新的问题
- 移除第三方 json 库的使用(与官方 json 库存在不兼容性),json 处理集成到XAPP SDK公共库中
- 修复发送策略任务可能导致数据收发失败的问题
- 修复数据端点回调通知时未更新模板信息的问题
- 修复错误码生成时可能未正确识别错误码的问题
- 新增 restful 接口,第三方用户初始化手机并设置密码的接口
- 修复 restful 接口中部分情况下资源释放不及时的问题
- 优化设备信息获取流程,修复可能出现无法正确获取设备信息的问题
- 修复某些情况下设备资源未及时释放的问题